#!/bin/bash

# MySQL MCP Server 启动脚本
# 使用方法: ./start-mcp-server.sh

# 设置脚本目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"

# 加载环境变量
if [ -f ".env.mcp" ]; then
    echo "加载环境变量配置..."
    export $(cat .env.mcp | grep -v '^#' | xargs)
else
    echo "警告: 未找到 .env.mcp 文件，使用默认配置"
fi

# 检查Python环境
if ! command -v python &> /dev/null; then
    echo "错误: 未找到Python，请确保Python已安装"
    exit 1
fi

# 检查依赖
echo "检查依赖..."
python -c "import pymysql, mcp" 2>/dev/null
if [ $? -ne 0 ]; then
    echo "错误: 缺少必要依赖，请运行: pip install pymysql mcp"
    exit 1
fi

# 启动MCP服务器
echo "启动MySQL MCP服务器..."
echo "配置信息:"
echo "  数据库主机: ${MYSQL_HOST:-localhost}"
echo "  数据库端口: ${MYSQL_PORT:-3306}"
echo "  数据库名称: ${MYSQL_DATABASE:-test}"
echo "  用户名: ${MYSQL_USER:-root}"
echo "  Python路径: $(which python3)"
echo ""

# 激活虚拟环境（如果存在）
if [ -f "venv/bin/activate" ]; then
    echo "激活虚拟环境..."
    source venv/bin/activate
fi

# 启动服务器
python3 -m src.mysql_mcp_server.main

# 捕获退出状态
EXIT_CODE=$?
if [ $EXIT_CODE -ne 0 ]; then
    echo "MCP服务器异常退出，退出码: $EXIT_CODE"
    exit $EXIT_CODE
fi

echo "MCP服务器已停止"